System for facilitating real-time transactions

ABSTRACT

A system for facilitating real-time transactions of data representing monetary value between clients in a computer network comprises at least one first client and a transaction server computer system, the first client being associated with a set of data representing a balance of monetary value. The transaction server computer system is configured for receiving requests for transactions of data representing an amount of monetary value from a plurality of second clients for real-time updates of the first client&#39;s set of data. The first client&#39;s set of data is stored in a data structure comprising first and second subsets of the data, each subset of data defining a sub-balance representing an amount of monetary value. The first and second subsets are simultaneously updated following respective requests. A server architecture comprising a further administrative authority server computer system and secure tunnels enhances security.

FIELD OF THE INVENTION

The present invention relates to a system for facilitating real-timetransactions of data representing monetary value between clients in acomputer network, and in particular to network and server architectureenabling fast and secure execution of high numbers of such transactionswithin short time frames.

BACKGROUND OF THE INVENTION

The evolution of communications infrastructure, including the Internetand mobile telecommunications systems has resulted in the development ofnew platforms for effecting monetary transactions. The number ofnon-cash payments is steadily increasing, credit card transactions beingeffected not only via credit card terminals but also via Internetservice such as PayPal®, smartphone applets, or similar systems. Stilltoday, however, transactions are often not effected immediately, i.e.,real-time, but with a delay of, typically, one banking day. Frequently,data representative of transactions are collected centrally within ITsystems of banks, card suppliers or other entities throughout a certainperiod of time, such as one day, following which net amounts of monetaryvalue are transferred between bank accounts, possibly through anintermediary authority, such as a central bank or other trusted party.

The present invention is concerned with a system allowing transactionsbetween consumers, businesses and banks to be effected real-time.Embodiments of the invention seek to bring about a network and serverarchitecture enabling fast and secure real-time execution of highnumbers of monetary transactions.

SUMMARY OF THE INVENTION

In a first aspect, embodiments provide a system for facilitatingreal-time transactions of data representing monetary value betweenclients in a computer network comprising at least one first client and atransaction server computer system, the first client being associatedwith a set of data representing a balance of monetary value, the set ofdata being stored in the transaction server computer system, wherein thetransaction server computer system is configured for receiving requestsfor transactions of data representing an amount of monetary value, viathe computer network, from a plurality of second clients for real-timeupdates of the first client's set of data, and wherein the transactionserver computer system is configured to:

-   store the first client's set of data in a data structure, wherein    the data structure comprises at least a first subset of the first    client's set of data and a second subset of the first client's set    of data, each subset of data defining a sub-balance representing an    amount of monetary value;-   reserve each of the first and second subsets of data for a    respective first and second one of the requests upon receipt of the    requests;-   update the first subset of data in accordance with the first    request, and simultaneously update the second subset of data in    accordance with the second request.

By dividing the set of data representing the balance of monetary valueinto first and second subsets and by updating the first and secondsubsets simultaneously, it is achieved that two of the requests forupdate of the set of data can be processed in parallel, i.e., at thesame time. Thus, transaction speed is improved, and more updates perunit of time may thus be performed. The update of the first client'ssubset of data may in particular reside in drawing of monetary valuefrom the first client's set of data to reduce the balance of monetaryvalue represented thereby. For example, the request for a transactionmay reside in a request from one of the second clients to transfer orwire an amount of monetary value from the set of data to a further setof data representing a monetary balance of the requesting second client.In one embodiment of the invention, each request for transactions iscompared to the balance of each subset of data to ensure that the amountof monetary value to be drawn does not exceed the sub-balance of thesubset of the set of data to which the request in question isdesignated. Alternatively, or additionally, the transaction servercomputer system may be configured to decline a request in case theamount to be drawn exceeds the available balance of the set of data.

Further, increase in transaction speed may be achieved without changingthe computer hardware configuration of the system for transactions. Thishas several tangible effects in the physical world outside the bits andbytes of a computer system. Firstly, embodiments of the invention mayhandle the same number of transactions as systems known in the art, butwith significantly less computing power. Accordingly, embodiments of thepresent invention may decrease the demand on hardware. Further, by moreefficient handling of the requests for transactions and updates, theenergy consumption may be reduced by embodiments of the inventionfurther reducing the demand on resources.

Clients may include computer networks of monetary institutions such asbanks. The computer networks of the monetary institutions may compriseat least one secured gateway, such as a firewall, for establishingsecured data communication gateways. Such secured data communicationgateways are advantageously situated between the computer networks ofthe clients and any external computers. In case the clients are banks,the transactions of data representing monetary value happen betweenbanks. Such transactions may be referred to as bank to bank transfers.

The plurality of second clients may receive requests for transactionsfrom external clients. Such external clients may be computers on anexternal network such as the internet. The computers may be operated bythe second clients' costumers being e.g., individual persons orcompanies. The transactions may also be generated from computers withinthe computer network of third party money handlers specialized infacilitating money transfers. The requests for transactions may also begenerated within the computer networks of the individual second clients.

The transaction server computer system may be a central server, e.g., atregional, national or supranational level, administered by a trustedthird party, such as a central bank. Alternatively, it may be a furtherparty trusted by the monetary institutions and a central bank. Asanother alternative, the transaction server computer may solely be thefurther party trusted by the monetary institutions.

In addition to the transaction server computer system, embodiments ofthe system according to the present invention may comprise anadministrative authority computer system. In such embodiments, the firstclient may have an account defining a real balance of monetary valuewithin the administrative authority computer system, and this accountmay be mirrored on the first client's set of data stored in thetransaction computer system. In the present context, mirroring theaccount on the set of data should be understood as comparing or equatingthe balance of real money defined by the account with the balance ofmonetary value represented by the set of data. Such mirroring may becarried out so that the balance of real money is equal to or at least aslarge as the monetary value represented by the set of data.

By performing the update in accordance with the requests fortransactions at the mirrored set of data, latency delays caused byupdate of the real balance of the accounts of the monetary institutionsat the administrative authority computer system may be reduced oravoided. Accordingly, by mirroring the real data and the set of data atthe transaction server computer system, a further increase oftransaction speed may be achieved. Update of the real balance may beperformed intermittently, i.e., after a certain number of requests hasbeen processed by the transaction server computer system, thus causinglatency delays only of updates of the real balances which need to occuronly at intervals of, e.g., six hours, one hour or 15 minutes. Theintervals may also be defined by accumulated transaction amounts, thenumber of transactions carried out, etc.

Similarly, the first client's account in the administrative authoritycomputer system may be mirrored on the first client's set of data onlyat given intervals. Mirroring of the account on to the set of datashould preferably be carried out in order to ensure that the realbalance at the administrative authority server computer systemadequately reflects the balance represented by the set of data, asupdated according to the requests, at the transaction server computersystem. As such, mirroring is preferably performed in relation to updateof the real balance defined by the account. The step of mirroring mayform part of the invention as claimed herein, or may be performed by asoftware component connected to the system according to the invention.

In present context, the term real-time transactions refer totransactions that are processed as they are received. As a consequence,requests for updates of data representing monetary value are notaccumulated over time and subsequently processed in bundles ofaccumulated requests, but rather the requests are individually processedby the transaction server computer system, preferably one by one. Inthis way, each request for update of data representing monetary valuemay cause the set of data to be updated and the balance represented bythe set of data to change. Real-time transactions may also be referredto as instant payments.

The data structure of the transaction server computer system, whereinthe first client's set of data is stored, comprises at least the firstsubset of the first client's set of data and the second subset of thefirst clients set of data. The data structure may also comprise a largernumber of subsets of data such as, e.g., three, four, five, eight, ten,15 or 20. The amount of monetary value represented by the accumulatedsub-balances of the subsets of data may be equal to the monetary valuerepresented by the set of data. The data structure wherein the firstclient's set of data is stored may be physically stored in a memory of asingle server computer or at least two server computers of thetransaction server computer system.

In the embodiment as above, when the transaction server computer systemreceives a plurality of requests for updates of the first client's setof data, the transaction server computer system reserves the firstsubset of data for the first one of the requests and reserves the secondsubset of data for the second one of the requests. The reserved firstand second subsets of data are preferably unavailable for update inaccordance with any request other than the request they are reservedfor. By reserving a subset of data for a particular request for update,it is ensured that the reserved subset of data is only updated inaccordance with one of the requests at a time. The transaction servercomputer system may be configured to determine if the envisaged updateof the reserved subset of data will cause the sub-balance represented bythe reserved subset of data to become negative. In this case, it may bedetermined at the point in time when a subset is reserved for the firstor second one of the requests, if the update in response to the first orsecond one of the requests should be allowed. It is then possible tonotify the sender of the first or second request, i.e., the secondclient, if the transaction is allowable or if it will be rejected evenbefore the set of data is updated.

After the first subset of data has been reserved for update according tothe first one of the requests and the second subset of data has beenreserved for update according to the second one of the requests, thefirst and second subsets of data are updated simultaneously. Thesimultaneous update of the first and second subsets of data may allowthe first client's set of data to be updated in response to more thanone request at a time. As also described above, this will increase therate at which requests for update of the first client's set of data isable to be processed by the system. Once either one of the first orsecond subset of data has been updated there is no longer need for therespective subset of data to be reserved. Accordingly, a subset of datamay be released once it has been updated so that it is available forfurther updates.

The transaction server computer system may be configured to update morethan one subset of data in accordance with a single request for updateof the first clients set of data.

The computer network may comprise a plurality of first clients, eachfirst client being associated with a respective set of data.

The transaction server computer system may comprise:

-   a first processing unit for processing receipt of the requests for    transactions; and-   a second processing unit for reserving each of the first and second    subsets of data for the respective first and second ones of the    requests upon receipt of the requests, and for updating the first    subset of data in accordance with the first request, and for    simultaneously updating the second subset of data in accordance with    the second request;-   wherein the first processing unit is further configured to instruct    the second processing unit to store the first client's set of data    in the data structure, reserve each of the first and second subsets    of data for the respective first and second ones of the requests    upon receipt of the requests, and to update the first subset of data    in accordance with the first request, and to simultaneously update    the second subset of data in accordance with the second request.

The dedicated first and second processing units allow for parallelprocessing of handling of receipt of requests by the first processingunit and updating first and second subsets of data by the secondprocessing unit enabling overcoming of potential bottlenecks, andconsequently more updates per unit time may be achieved. Morespecifically, this may allow the first processing unit to handle receiptof requests even if the second processing is fully or almost fullyoccupied by updating the first and second subsets of data. Similarly,this may allow the second processing unit to update the first and secondsubsets of data even if the first processing unit is fully or almostfully occupied handling receipt of requests.

Further, such embodiments allow the first processing unit and the secondprocessing unit to be configured to have individual computing capacitiesand possibly to have computing capacities chosen so as to optimize thework load balancing between the first and second processing units. Thisallows the transaction server computer system to be further optimized inway that minimizes the amount of time the first processing unit may haveto wait for the second processing unit to finish and vice versa.

The first processing unit and second processing units are preferablyseparate CPUs or separate CPU cores.

The second processing unit may be a parallel processing unit comprisingmultiple cores in a single CPU or multiple CPUs. This allows forparallel processing of multiple subsets of data simultaneously onindividual CPUs or CPU cores enabling more updates per unit time to beachieved.

Each of the subsets of data may be processed at a dedicated one of theCPUs or CPU cores of the parallel processing unit, so that each subsetof data is processed by one of the processors or processor coresdifferent from any other one of the processors or processor cores. Inthis case, each of the CPUs or CPU cores is preferably dedicated toprocess a single subset of data. Accordingly, processing of each subsetof data may be performed with little or no impact on the processing ofother subsets of data. This may further increase the number of updatesper unit time achieved.

The transaction server computer system may be configured to determine,upon receipt of a third one of the requests, if the first and secondsubsets of data are reserved, and in the affirmative, perform an updateof the set of data according to a predefined auxiliary updating scheme.In this case, the transaction server computer is configured to handlethe case when the third one of the requests for update of the firstclient's set of data is received before updates according to the firstand second one of the requests are completed.

The predefined auxiliary updating scheme may be to store the third oneof the requests and to determine if the first and second subsets of dataare reserved at predefined intervals in time. The predefined intervalsin time may be on, e.g., the microsecond scale, millisecond scale orsecond scale. The transaction server computer system may then continueto determine if the first and second subsets of data are reserved untilat least one of the first and second subsets of data is not reserved. Atthis point, the at least one of the unreserved subsets of data isreserved for the third one of the requests.

In case the data structure comprises three subsets of data, thepredefined auxiliary updating scheme may be to determine if the thirdsubset of data is reserved. If the third subset of data is not reserved,the third subset of data may be updated according to the third request.If the third subset of data is reserved and in case the data structurecomprises four subsets of data, the predefined updating scheme may be todetermine if the fourth subset of data is reserved. This auxiliaryupdating scheme may be applied in systems wherein the data structurecomprises any number of subsets of data larger than two. In this case,the system is potentially able to simultaneously process as manyrequests for update of the first client's set of data as the number ofsubsets of data the data structure comprises.

The transaction server computer system may be configured to:

-   determine, upon reservation of the first subset of data for one of    the requests, if an envisaged update of the reserved subset of data    in response to that request would cause the sub-balance of the    reserved subset of data to become negative;-   if it is determined that the sub-balance of the reserved subset of    data would become negative: divide the request into a first set of a    plurality of sub-requests, reserve the second subset of data, and    update the first and second subsets of data simultaneously in    accordance with the plurality of sub-requests.

In this case, the request may be processed by the system even if theamount of monetary value represented by the data to be transferredexceeds the amount of monetary value represented by the sub-balance ofthe reserved subset of data. According to this embodiment, eachsub-request of the first set of sub-requests is for transaction of datarepresenting a sub-amount of monetary value. The accumulated sub-amountsof the sub-requests are equal to the amount of monetary valuerepresented by the data requested to be transferred by the request, fromwhich the sub-requests are derived. Accordingly, the request is splitbetween the first subset of data and the second subset of data. In casethe data structure comprises more than two subsets of data, more thantwo subsets of data may be reserved and then updated simultaneously inaccordance with the plurality of sub-requests.

The transaction server computer system may be configured to:

-   determine the sub-balances of a plurality of subsets of data in    response to receipt of one of the requests;-   simultaneously reserve a number of subsets of data defining    sub-balances large enough for the accumulated sub-balances of the    reserved subsets of data to be at least as large as the amount of    monetary value represented by the data requested to be transferred;-   divide the request into a second set of sub-requests, the number of    sub-requests in the second set of sub-requests being equal to the    number of reserved subsets of data;-   update the reserved subsets of data simultaneously in accordance    with the second set of sub-requests.

In this case, the request may be processed by the system even if theamount of monetary value represented by the data to be transferredexceeds the amount of monetary value represented by the sub-balance ofany one of the subsets of data. Furthermore, because the number ofsubsets of data necessary to process the request without any one of thesub-balances becoming negative is reserved simultaneously, it may beensured that if any subset of data is reserved for the request, all thesubsets of data necessary for processing the request are reserved.Accordingly, it may be avoided that any one of the subsets of data isreserved for the request without the request being able to be processed.

According to this embodiment, each sub-request of the second set ofsub-requests is for transaction of data representing a sub-amount ofmonetary value. Also, the accumulated sub-amounts of the sub-requests ofthe second set of sub-requests are equal to the amount of monetary valuerepresented by the data requested to be transferred by the request thesub-requests are generated from. Furthermore, the request is dividedinto the second set of sub-requests in such a manner that eachsub-amount is no larger than the sub-balance of a designated one of thereserved subsets of data.

The transaction server computer system may be configured to change thenumber of subsets of data stored in the data structure based on anevaluation of the number of received requests within a specified periodof time.

According to this embodiment, the transaction computer system isconfigured to optimize the number of subsets in the data structure. Ingeneral, as the number of subsets of data in the data structureincreases, the need for maintenance of the data structure increases.Moreover, for example the data integrity of each subset of data shouldbe ensured, data communication to and from each subset of data should bepossible and the first client's set of data increases in complexity withan increasing number of subset of data. On the other hand, as the numberof subsets of data in the data structure increases, the number ofrequests the system can process simultaneously also increases. Thus, anoptimum number of subsets of data in the data structure may exist andthe transaction server computer system may be configured to vary thenumber of subsets of data on the basis of predefined or pre-set usersetting, or on the basis of a determination of requests, availablecomputational resources, such as CPU power or memory availability,computational load, etc., preferably with a view to approaching theoptimum number.

The evaluation may include a comparison of the number of receivedrequests within a specified period of time with a first threshold numberand a second threshold number. In this case, if the number of receivedrequests is larger than the first threshold number, the transactionserver computer system is configured to increase the number of subsetsof data. Accordingly, if the number of received requests is smaller thanthe second threshold number, the transaction server computer system maybe configured to decrease the number of subsets of data. The firstthreshold number may be equal to are larger than the second thresholdnumber. The closer the two threshold numbers are to each other, the moreoften the number of subsets of data is changed and the more likely it isthat the number of subsets corresponds to a suitable number of subsetsbased on the evaluation.

The specified period of time may be a recently elapsed period of time.In this case, the number of subsets may be set (optimized) with respectto the current need for request processing. The specified period of timemay alternatively be a period of time in the past, e.g., a period thatended one year ago, one month ago or one day ago. In this case, thenumber of subsets may be varied (optimized) in accordance withpreviously observed trends in request processing needs that may reoccur.

The transaction server computer system may be configured to change thenumber of subsets of data stored in the data structure based on anevaluation of the amount of monetary value represented by the datarequested to be transferred within a specified period of time. Thisallows the transaction server computer, e.g., reduce the number ofsubset of data if first share of the requests received are for amountslarger than a first threshold amount or increase the number of subsetsof data if a second share of the requests received are for amountssmaller than a second threshold amount. This may increase the number oftransactions the system is able to handle per unit of time.

The transaction server computer system may be configured to:

-   determine the sub-balances of each of the plurality of subsets of    data at predetermined intervals;-   generate and populate a prioritized list of the subsets of data,    wherein the prioritized list ranks the subsets or groups of the    subsets according to their associated sub-balances;-   select one of the subsets or groups of subsets in the prioritized    list for each one of the requests on the basis of the prioritized    list;-   assign each of the requests to the selected subset or groups of    subsets; and subsequently update at least one of the subsets of data    of the selected subset or groups of the subsets in accordance with    each one of the requests.

In this case, the transaction server computer system may be able topreferentially reserve the subsets of data with the largest sub-balancesin response to receipt of requests for transactions of data representingfirst amounts of monetary value which are larger than second amounts ofmonetary value of other requests. Conversely, the transaction servercomputer system may also be able to preferentially reserve the subsetsof data with the smallest sub-balances of the subsets of data inresponse to receipt of requests for transactions of data representingthird amounts of monetary value which are smaller than fourth amounts ofmonetary value of other requests. Accordingly, the number of subsets ofdata reserved to process a request for data representing a relativelylarge amount of monetary value may be reduced. Furthermore, the subsetsof data with the smallest sub-balances may be allowed to processrequests for relatively small amounts without a few requests forrelatively large amounts reserving a large number of the subsets withthe smallest sub-balances. Accordingly, the amount of monetary valuerepresented by the set of data may be reduced.

The transaction server computer system may also be able assign requeststo a prioritized sequence of subsets or groups of subsets in theprioritized list. For instance, upon receipt of a request for a firstamount of monetary value larger than second amounts of monetary, thetransaction server computer may assign the plurality of sub-requestsderived from the request to the unreserved subsets of data with thelargest sub-balances at the time of reservation of subsets for theplurality of sub-requests. This may further reduce the number subsetsreserved to process a request for data representing a relatively largeamount of monetary value may be reduced.

The second and fourth amounts of monetary value may be varied to changewhat subsets of data on the prioritized list are being preferentiallyreserved for requests representing certain amounts of monetary value.The second and fourth amounts may be varied in response to, e.g.,variation in the sub-balances of the subsets of data on the prioritizedlist, the average amount of monetary value represented by requestsreceived within the specified interval or the minimum and/or maximumamount of monetary value represented by requests received within thespecified interval.

The specified interval according to this embodiment may be intervalsdefined by, e.g., the number of requests received, the accumulatedrequest amounts, the accumulated request amounts, the number oftransactions carried out, etc.

The transaction server computer system may comprise a plurality ofindividual data storage units, and wherein each subset of data is storedin an individual data storage unit. This may decrease the time it takesto update each subset of data because each data storage unit only has toupdate one subset of data at a time.

The transaction server computer system may comprise a plurality ofserver computers, in which case all data associated with the firstclient is preferably stored in a single server computer. In case thiscase all requests for update of the first client's set of data are sentto the single server computer. Also, the data structure and thus thesubsets of data are stored in the single server computer. Accordingly,it may be avoided that communication between server computers isnecessary to, e.g., determine sub-balances of the subsets of data,determine the balance of the set of data from the accumulatedsub-balances of the subsets of data, update the subsets of data inaccordance with the plurality of sub-requests or generate and populatethe prioritized list of the subsets of data. Thus, the number ofrequests processed per unit of time may be increased. The single servercomputer may store data associated with the first client only. In thiscase, each server computer is dedicated a single first client even ofthe computer network comprises a plurality of first clients.Accordingly, each server computer only handles requests for updates ofthe single client's set of data. Thus, data traffic for requests forupdates of a plurality of first clients' sets of data is split between aplurality of server computers and the chance of data traffic bottlenecksoccurring in the system may be reduced.

The subsets of data associated with the first client may be stored on atleast two server computers, in which case no set of sub-requests isprocessed on more than one server computer. According to thisembodiment, at least the first and second subsets of data are stored ona first server computer and at least a third and fourth subset of dataare stored on a second server computer. This allows the totality ofrequests for update of the single client's set of data to be splitbetween at least two server computers. Accordingly, each server computerreceives a smaller number of requests for update of the first client'sset of data. Thus, the number of requests processed per unit of time maybe increased. Furthermore, because no set of sub-requests is processedon more than one server computer, less communication between the atleast two server computers may be required upon receipt of a singlerequest.

The transaction server computer system may be configured to determinethe sub-balances of all subsets of data at predefined intervals in time.Based on the determined sub-balances of all the subsets of data, thetransaction server computer system may be able to determine if, e.g.,sub-balances of subsets of data are different from a thresholdsub-balance interval preferably have their sub-balances adjusted, thebalance of the set of data is different from a threshold balanceinterval and preferably have the balance adjusted, etc. Accordingly, thetransaction server computer system may be able to improve operation ofthe system.

The intervals in time may be, e.g., once every day, 12 hours, 1 hour, 30minutes, 15 minutes, 5 minutes, 30 seconds, etc.

The transaction server computer system may be configured to issuerequests for transfer of data representing an amount of monetary valuebetween subsets of data of the first client's set of data based on atleast the sub-balances of the subsets of data. In this case, thetransaction server computer system may be able to vary the sub-balancesof the subsets of data and possibly even out differences between theindividual sub-balances of individual subsets of data. This may increasethe number transactions processed per unit of time as the chance ofsubsets of data reaching zero or near-zero balance may be reduced.

The transaction server computer system may define at least a first and asecond threshold sub-balance. In this case, if the sub-balance of thefirst subset of data is smaller than the first threshold sub-balance,the transaction server computer system may issue a request for transferof data representing an amount of monetary value from the second subsetof data to the first subset of data. Hereby the sub-balance of the firstsubset of data is increased. Conversely, if the sub-balance of the firstsubset of data is larger than the second threshold sub-balance, thetransaction server computer system may issue a request for transfer ofdata representing an amount of monetary value from the first subset ofdata to the second subset of data. This may allow the transaction servercomputer system to decrease the number of subsets of data with zero ornear-zero sub-balances. It may also prevent subsets of data from havingunnecessarily large sub-balances. Similar functionality is readilyconceivable if the data structure comprises more than two subsets ofdata.

The transaction server computer system may define more than twothreshold sub-balances. It may for instance assign each subset of datato a group and define a different pair of first and second thresholdsub-balances to each group of subsets of data. It may also define adifferent pair of first and second threshold sub-balances to each subsetof data. Accordingly, the transaction server computer system may be ableto vary the sub-balances of each subset of data or group of subsets ofdata to define and populate the prioritized list of subsets of data orgroups of subsets of data in an enhanced manner, thus possiblyincreasing the number of transactions the system is able to process perunit of time.

The transaction server computer system may be configured to delete allsubsets of data and create new subsets of data, the balance of eachclient's set of data being unaffected in the process. In this case, thetransaction server computer system may be able to vary the sub-balancesof some or all subsets of data without issuing requests for transactionsbetween the subsets of data. The balance of the set of data may bedivided into the sub-balances of the new subsets of data by thetransaction server computer system according to any predefined oradaptable rule-set. Accordingly, some or all the advantages describedwith respect to embodiments wherein the transaction server computersystem is configured to issue requests for transactions between subsetsof data may apply to embodiments wherein the transaction server computersystem is configured to delete all subsets of data and create newsubsets of data. The latter embodiments may have the possible advantageof reduced processing capacity and time consumption necessary inrelation to varying the sub-balances of the subsets of data.

The transaction server computer system may be configured to issuerequests for transfer of data representing an amount of monetary valueto the first client's set of data, the number of requests and the amountof monetary value represented by the data requested to be transferredmay be based on at least the balance of the set of data. In this case,the transaction server computer system may be able to vary the balanceof the first client's set of data. Accordingly, the chance of thebalance of the set of data reaching zero or near-zero balance may bereduced, which may increase the number of transactions the system isable to process per unit of time. The chance that the balance of the setof data becomes unnecessarily large may also be avoided. This may reduceany cost the first client may have in relation to making the amount ofmonetary value represented by the balance of the first client's set ofdata available to the system. The requests may be sent to some externalset of data representing an external amount of monetary value. Theexternal set of data may be stored by the first client itself or it mayalternatively be stored by an administrative authority server computersystem, which may be controlled by, e.g., a central bank.

The requests for transfer of data representing an amount of monetaryvalue to the first client's set of data may be issued at predefinedintervals in time, such as, e.g., once every day, 12 hours, 1 hour, 30minutes, 15 minutes, 5 minutes, 30 seconds, etc.

According to embodiments, the computer network further comprises anadministrative authority server computer system within which at leastthe first client has an account defining a real balance of monetaryvalue, wherein the balance of monetary value represented by the set ofdata in the transaction server computer system mirrors the real balanceof monetary value. In such embodiments the computer network comprises:

-   a plurality of first secure tunnels, each of which connects one of    the clients to the transaction server computer system for passing    the requests from the second clients to the transaction server    computer system;-   at least one second secure tunnel, which connects the transaction    server computer system to the administrative authority server    computer system for mirroring the real balance of monetary value at    the administrative authority server computer system and the balance    represented by the set of data at the transaction server computer    system.

In addition to the transaction server computer system, embodiments ofthe system according to the present invention may thus comprise theadministrative authority computer system. In such embodiments, the firstclient may have an account defining a real balance of monetary valuewithin the administrative authority computer system, and this accountmay be mirrored on the first client's set of data stored in thetransaction computer system. In the present context, mirroring theaccount on the set of data should be understood as comparing or equatingthe balance of real money defined by the account with the balance ofmonetary value represented by the set of data. Such mirroring may becarried out so that the balance of real money is equal to or at least aslarge as the monetary value represented by the set of data.

By performing the update in accordance with the requests fortransactions at the mirrored set of data, latency delays caused byupdate of the real balance of the accounts of the monetary institutionsat the administrative authority computer system may be reduced oravoided. Accordingly, by mirroring the real data and the set of data atthe transaction server computer system, a further increase oftransaction speed may be achieved. Update of the real balance may beperformed intermittently, i.e., after a certain number of requests hasbeen processed by the transaction server computer system, thus causinglatency delays only of updates of the real balances which need to occuronly at intervals of, e.g., six hours, one hour or 15 minutes. Theintervals may also be defined by accumulated transaction amounts, thenumber of transactions carried out, etc.

Similarly, the first client's account in the administrative authoritycomputer system may be mirrored on to the first client's set of dataonly at given intervals. Mirroring of the account on to the set of datashould preferably be carried out in order to ensure that the realbalance at the administrative authority server computer systemadequately reflects the balance represented by the set of data, asupdated according to the requests, at the transaction server computersystem. As such, mirroring is preferably performed in relation withupdate of the real balance defined by the account. The step of mirroringmay form part of the invention as claimed herein, or may be performed bya software component connected to the system according to the invention.

The plurality of first secure tunnels and the at least one second securetunnel may comprise one or more secured data gateways such as firewalls.For instance, the system may comprise secured data gateways at each endof the secure tunnels. The first secure tunnels may also comprise meansfor data encryption. In this case, some or all of the requests sentthrough the secure tunnels may be encrypted to reduce the risk ofrequest interception by unauthorized external clients. The securedtunnels may comprise a packet filtering module in which certain filterinstructions are applied to all data packets transmitted through thesecured tunnels. This may improve the possibilities of authorizedrequests being transmitted and accepting, while unauthorized requestsare rejected. The secure tunnels may also be configured to send amessage to the computer at the other end of the tunnel to redirect to aproxy server of the tunnel. In this case, the computer at the other endof the tunnel may send a token and the request for the resource theproxy server. If the token is valid, the request is forwarded throughthe secure tunnel, otherwise, the computer at the other end of thesecured tunnel must first be authenticated. This may also improve thepossibilities of authorized requests being transmitted and accepting,while unauthorized requests are rejected.

According to embodiments, the computer network further comprises anadministrative authority server computer system within which at leastthe first client has an account defining a real balance of monetaryvalue, wherein the balance of monetary value represented by the set ofdata in the transaction server computer system mirrors the real balanceof monetary value; and wherein:

-   the first and second clients are configured to be administered by    respective client administrators; the administrative authority    server computer system is configured to be administered by an    authority administrator different from the client administrators,    and-   the transaction server computer system is configured to be    administered by a trusted third party different from client    administrators and the authority administrator;-   and wherein the computer network comprises:-   a plurality of first secure tunnels, each of which connects one of    the clients to the transaction server computer system for passing    the requests from the second clients to the transaction server    computer system;-   at least one second secure tunnel, which connects the transaction    server computer system to the administrative authority server    computer system for mirroring the real balance of monetary value at    the administrative authority server computer system and the balance    represented by the set of data at the transaction server computer    system.

By having administrators administering the first and second clients,different from the administrators of the administrative authority servercomputer system, the risk of processing of fraudulent requests may beavoided or reduced. With the secure tunnels in place, processing offraudulent requests may only be possible in the unlikely event thatadministrators of the computer networks at both ends of the securetunnels contribute to the fraud. Similarly processing of fraudulentrequests by the transaction server computer system and the clients maybe reduced or avoided.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described in further describedwith reference to the accompanying drawings, in which:

FIG. 1 illustrates an embodiment of a system for real-time transactionsof data representing monetary value;

FIG. 2 illustrates an embodiment of a system for real-time transactionsof data representing monetary value;

FIG. 3-5 illustrate flow charts of real-time transactions according toembodiments;

FIG. 6-7 illustrate systems according to embodiments; and

FIG. 8-10 illustrate systems according to embodiments.

DETAILED DESCRIPTION OF THE DRAWINGS

It should be understood that the detailed description and specificexample, while indicating an embodiment, are given by way ofillustration only, since various changes and modifications within thespirit and scope of the invention will become apparent to those skilledin the art from this detailed description.

FIG. 1 illustrates a system 100 for real-time transactions of datarepresenting monetary value between clients in a computer network. Thetransactions of data representing monetary value in the system causetransactions of monetary value. In present context, the term real-timetransactions is to be understood as transactions being facilitated bythe system in real-time as they are generated. Another common term forreal-time transactions is instant payments.

In the embodiment illustrated in FIG. 1, requests 102 for transactionsof data representing an amount of monetary value is generated by amultitude of agents by way of local computer systems 104. The requestsare sent to a cloud 106, e.g., the internet, and from the cloud 106 to aplurality of second clients 108. Each second client has a firewall 110 athat requests 102 from the cloud 106 passes through. The firewalls 110 aimprove the data security of the second clients and decrease the risk offraudulent requests being transmitted from the cloud 106 to the secondclients 108. From respective second clients 108, the requests 102 areforwarded through a data pathway comprising respective second client'sfirewall 110 b, respective secure tunnels 112 and a firewall 114 a atthe other end of the secure tunnel 112, the firewall 114 a beingadministered by the administrator of a server computer system 116. Eachsecond client 108 and each second client's firewalls 110 a and 110 b areadministered by the respective second client's administrator.

Upon receipt of the request 102, the server computer system 116 reservesand updates the first clients' sets of data 118 in accordance with therequests. Each second client's set of data 118 is divided into aplurality of subsets of data. The plurality of subsets of data arereserved and then updated simultaneously in response to receipt of aplurality of requests 102. It is achieved that a plurality of therequests 102 for update of the set of data 118 can be processed inparallel, i.e., at the same time. Thus, transaction speed is improved,and more updates per unit of time may thus be performed. In embodiments,a first processing unit processes receipt of the request 102 andinstructs a second processing unit reserves and updates the subsets ofdata simultaneously. This further allows processing of requests to behandled in parallel with an increase in transaction speed and hardwareutilisation as a result.

The update of the first client's set of data 118 may in particularreside in drawing of monetary value from the first client's set of data118 to reduce the balance of monetary value represented thereby. Forexample, the request 102 for a transaction may reside in a request 102from one of the second clients 108 to transfer or wire an amount ofmonetary value from the first client's set of data to a further set ofdata representing a monetary balance of the requesting second client108. In one embodiment of the invention, each request 102 fortransactions is compared to the balance of each subset of data to ensurethat the amount of monetary value to be drawn does not exceed thesub-balance of the subset of the set of data to which the request inquestion is designated. Alternatively, or additionally, the transactionserver computer system 116 may be configured to decline a request incase the amount to be drawn exceeds the available balance of the firstclient's set of data 118.

The administrator of the server computer system 116 also administers thefirewalls 114 a and 114 b associated with the server computer system116.

The transaction server computer system 116 is configured to issuerequests 122 for transfer of data representing an amount of monetaryvalue to the first client's set of data 118. The number of requests 122and the amount of monetary value represented by the data requested to betransferred may be based on at least the balance of the set of data.Accordingly, the transaction server computer system 116 is able to varythe balance of the first client's set of data 118. The chance of thebalance of the set of data reaching zero or near-zero balance is thenreduced, which increases the number of transactions the system 100 isable to process per unit of time. The chance that the balance of the setof data becomes unnecessarily large may also be avoided. This may reduceany cost the first client may have in relation to making the amount ofmonetary value represented by the balance of the first client's set ofdata available to the system 100. The requests 122 are sent from theserver computer system 116 through a data pathway comprising a firewall114 b, a secured tunnel 120 and a firewall 123 a. The requests 122 aresent to respective first clients' account 124 representing an amount ofmonetary value. The accounts 124 are stored by an administrativeauthority server computer system 126, which may be controlled by, e.g.,a central bank. The administrator of the administrative authority servercomputer system 126 also administers the firewall 123 a associated withthe administrative authority server computer system 126.

The first client's account 124 defines a real balance of monetary valuewithin the administrative authority computer system 126, and thisaccount 124 is mirrored on the first client's set of data 118 stored inthe transaction computer system 116. In the present context, mirroringthe account 126 on the set of data 118 is carried out so that thebalance of real money is equal to or at least as large as the monetaryvalue represented by the set of data 118.

The requests 122 for transfer of data representing an amount of monetaryvalue to the first client's set of data 118 are issued at predefinedintervals in time, such as, e.g., once every day, 12 hours, 1 hour, 30minutes, 15 minutes, 5 minutes, 30 seconds, etc.

By having administrators administering the first and second clients,different from the administrators of the administrative authority servercomputer system 126, the risk of processing of fraudulent requests maybe avoided or reduced. With the secure tunnel 120 in place, processingof fraudulent requests may only be possible in the unlikely event thatadministrators of the computer networks at both ends of the securetunnel 120 contribute to the fraud. Similarly processing of fraudulentrequests by the transaction server computer system 116 and the secondclients 108 may be reduced or avoided.

For the purpose of illustrating the relationship between the clients,these are exemplified in the embodiment of FIG. 2. In this embodiment,the clients are in the form of monetary institutions and in response toa first request, a first monetary institution acts as a first client anda second monetary institution acts as a second client. Whereas inresponse to a second request, the first monetary institution acts as asecond client and the second monetary institution acts as a firstclient. That is, requests for transactions may be exchanged between allmonetary institutions in the system.

In the embodiment illustrated in FIG. 2, the monetary institutions 128are able to act as both first clients 129 and second clients 108. Assuch, FIG. 2 illustrates a data communication pathway between theadministrative authority server computer system 126 and the monetaryinstitutions 128. As discussed with reference to FIG. 1, the transactionserver computer system 116 is configured to issue requests 122 fortransfer of data representing an amount of monetary value to the firstclient's set of data 118 at predefined intervals in time, and this maybe done in relation to mirroring of the first client's set of data 118and the first client's account 124.

After the requests 122 for transfer of data representing an amount ofmonetary value to the first client's set of data 118 are issued, thereal balances of the accounts 124 are updated. Through a firewall 123 b,respective secure tunnels 130 and firewalls 110 c of the monetaryinstitutions 128, requests 132 for update of the real balances of moneyrepresented by the first clients' accounts 124 are sent to the monetaryinstitutions 128 acting as first clients 129. The data pathways for therequests 122 comprising firewalls 110 c and 123 b and secure tunnels 130are not linked to the transaction server computer system.

FIGS. 3-5 illustrate flow-charts of the process of updating the firstclient's set of data 118 stored in a data structure of the transactionserver computer system 116. The set of data 118 is divided into a firstsubset of data 134 and a second subset of data 136. In FIG. 3 and FIG. 4a first request 102 a and a second request 102 for update of the firstclient's set of data 118 are received simultaneously. In FIG. 3 the tworequests 102 a and 102 b are received from the same second client 108 a,whereas in FIG. 4 the first request 102 a is received from a firstsecond 108 a and the second request 102 b is received from a secondclient 108 b. The first request 102 a is forwarded 134 to the firstsubset of data 138, while the second request 102 b is forwarded 136 tothe second subset of data 140. The respective subsets of data 138 and140 are then reserved in step 142 a and 142 b for respective requests102 a and 102 b. In steps 144 a and 144 b the subsets of data 138 and140 are updated simultaneously. Finally, the subsets of data 138 and 140are released in step 146 a and 146 b. The released subsets of data areavailable for further updates and the process of reserving 142 a, 142 band updating 144 a, 142 b the subsets of data 138 and 140 may berepeated in response to further requests.

In FIG. 5 a third request 102 c for update of the first client's set ofdata 118 is received from the second client 108 b while both subsets ofdata 138 and 140 are reserved for processing of the first request 102 aand the second request 102 b. In this case, the set of data 118 isupdated according to a predefined auxiliary updating scheme in responseto receipt of the third request 102 c. The predefined auxiliary updatingscheme is to store the third request 102 c and to determine if the firstand second subsets of data 138 and 140 are reserved at predefinedintervals in time. The predefined intervals in time may be on, e.g., themicrosecond scale, millisecond scale or second scale. The transactionserver computer system 116 may then continue to determine if the firstand second subsets of data 138 and 140 are reserved until at least oneof the first and second subsets of data 138 and 140 is released. At thispoint, the released subset of data is reserved for the third request 102c.

FIG. 6 illustrates a system wherein the transaction server computersystem 116 stores the first client's set of data 118 in a data structurecomprising eight subsets of data 138, 140, 148-158. In response toreceipt of the first request 102 a, the transaction server computersystem 116 simultaneously reserve three subsets of data 138, 140 and 148defining sub-balances large enough for the accumulated sub-balances ofthe reserved subsets of data 138, 140 and 148 to be at least as large asthe amount of monetary value represented by the data requested to betransferred by the first request 102 a. The transaction server computersystem 116 then divides the first request 102 a into a first set ofsub-requests 160 with three sub-requests and updates the three subsetsof data 138, 140 and 148 in accordance with the first set ofsub-requests 160. Accordingly, in response to receipt of the secondrequest 102 b, the transaction server computer system 116 generates asecond set of sub-requests 162 with two sub-requests and reserves andupdates the fourth and fifth subsets of data 150 and 152 in accordancewith the second set of sub-requests 162. The transaction server computersystem 116 could also reserve and update, e.g., the second subset ofdata 140, the fifth subset of data 152 and the seventh subset of data158 in accordance with the first set of sub-request 160, while reservingand updating other subsets of data in accordance with the second set ofsub-requests. Moreover, the transaction server computer system 116 mayreserve and update any combination of subsets of data in accordance withany set of sub-requests as long as the set of sub-requests and thecombination of subsets of data conforms to the rules laid out just abovefor the transaction server computer system 116.

FIG. 7 illustrates a system 100 wherein the transaction server computersystem 116 is configured to generate and populate a prioritized list ofseven subsets of data 138, 140, 148-156. In the embodiments of FIG. 7the prioritized list is generated and populated with subsets of datawith increasingly large balances so that the first subset of data 138represents a balance of monetary units smaller than the balance of thesecond subset of data 140. The balance of the second subset of data 140is smaller than the balance of the third subset of data 148, and soforth. A first request 102 a for transaction of data representing arelatively large amount of monetary unit is forwarded to the set of data118. The transaction server computer system 116 then divides the request102 a into a first set of sub-requests 160. The transaction servercomputer system 116 then reserves and updates the sixth and seventhsubsets of data 154 and 156 in accordance with the first set ofsub-requests 160. Accordingly, in response to receipt of a secondrequest 102 b for transaction of data representing a relatively smallamount of monetary units, the transaction server computer system 116reserves and updates the first and second subsets of data 138 and 140.

In the system 100 illustrated in FIG. 7, the transaction server computersystem 116 is then able to preferentially reserve the subsets of datawith the largest sub-balances in response to receipt of the firstrequest 102 a for transaction of data representing a first amount ofmonetary value which is larger than a second amount of monetary value ofthe second request 102 b. Conversely, the transaction server computersystem 116 is also able to preferentially reserve the subsets of datawith the smallest sub-balances of the subsets of data 138, 140, 148-156in response to receipt of the second request 102 b for transaction ofdata representing the second amount of monetary value which is smallerthan the first amount of monetary value of the first request 102 a.

FIGS. 8-10 illustrate systems 100 wherein the transaction servercomputer system 116 stores the subsets of data 138, 140, 148 and 150associated with the first client on two different server computers 164and 166. In these embodiments, the first and second subsets 138 and 140are stored on a first server computer 164 and third and fourth subsetsof data 148 and 150 are stored on a second server computer 166. Inembodiments, the transaction server computer system 116 comprises asecond processing unit, which in turn comprises multiple CPUs. In oneembodiment, the first server computer 164 comprises a first CPU handlingreservation and update of the first and second subsets 138 and 140, andthe second server computer 166 comprises a second CPU handlingreservation and update of the third and fourth subsets of data 148 and150.

In FIG. 8 the first request 102 a is received from the first secondclient 108 a and forwarded to the first server computer 164 and thefirst subset of data 138 is reserved and updated in accordance with thefirst request 102 a. The second request 102 b is received from thesecond client 102 b and forwarded to the second server computer 166 andthe third subset of data 148 is reserved and updated accordance with thesecond request 102 b.

In FIG. 9 the first request 102 a is received from the first secondclient 108 a and forwarded to the first server computer 164 and thefirst subset of data 138 is reserved and updated in accordance with thefirst request 102 a. The second request 102 b is received from thesecond client 102 b and forwarded to the first server computer 164 andthe second subset of data 148 is reserved and updated accordance withthe second request 102 b.

In FIG. 10 the first and second requests 102 a and 102 b are receivedfrom the first second client 108 a. The first request 102 a is forwardedto the first server computer 164 and the first subset of data 138 isreserved and updated in accordance with the first request 102 a. Thesecond request 102 b is forwarded to the second server computer 166 andthe third subset of data 148 is reserved and updated accordance with thesecond request 102 b.

The systems 100 embodied in FIGS. 8-10 may be configured to a requestinto a set of a plurality of sub-requests 160. In this case, no set ofsub-requests 160 is processed on more than one server computer.

EXAMPLE I

In order to ascertain the effect of the invention with regard to thenumber of updates or transactions per unit time, the following testswere performed:

-   -   1. One first client receiving requests for update of its set of        data, the set of data not being divided into subsets of data;    -   2. 16 clients that are acting as first and second clients        sending and receiving requests for updates of respective sets of        data, each client's set of data not being divided into subsets        of data; and    -   3. 16 clients that are acting as first and second clients        sending and receiving requests for updates of respective sets of        data, each client's set of data being divided into 8 subsets of        data.

Accordingly, the configurations of test 1 and test 2 are not embodimentsof the present invention. Test 3 was performed in a test environmentemulating a system for facilitating real-time transactions according toan embodiment of the invention. All tests are performed on the samecomputer system with the same hardware configuration for each test.

The raw data of all three tests are reported in Table 1 below. Thecolumn ‘No. of Part.’ denotes the number of clients, wherein each clientmay act as both a first and second client. The column ‘Slices’ denotesthe number of subsets of data each second client's set of data isdivided into. ‘Count’ is the total number of updates of second clients'sets of data, which corresponds to transactions of monetary value asdescribed above. The ‘Duration’ is measured in seconds and the‘Throughput’ is measured in updates, i.e., transactions per second[tx/s].

TABLE 1 Test Case No. of Part. Slices Count Duration Throughput #1 1 12520 17.129 s 147 tx/s #2 16 1 2512 31.724 s  79 tx/s #3 16 8 251212.170 s 206 tx/s

From the results of Table 1, it is seen that as the number of clientswas increased without dividing sets of data into subsets of data, thenumber of updates per second was significantly decreased, likely due tobottleneck formation caused by reserved and thus unavailable sets ofdata.

Further, it is seen that with the same number of clients (16) andupdates of a plurality of subsets of data (8) in accordance withembodiments of the invention, the number of updates per second more thandoubled. Accordingly, thanks to the implementation of a system accordingto embodiments of the invention a significant increase in transactionspeed was achieved.

Notably, the increase in transaction speed was achieved without changingthe computer hardware configuration of the system for transactions. Thishas several tangible effects in the physical world outside the bits andbytes of the computer system. Firstly, embodiments of the invention canhandle the same number of transactions as systems known in the art, butwith significantly less computing power. Accordingly, embodiments of thepresent invention decreases the demand on hardware. Further, byrecording the CPU load during the tests, it is seen that the energyconsumption for handling the same number of transactions wassignificantly lower in test 3 than in test 2 due to the more efficienthandling of the requests and updates. Accordingly, embodiments ofpresent invention optimise energy consumption further reducing thedemand on resources.

Finally, it is noted that although the reported test was performed with8 subsets of data for each first client, the overall trends of resultswould be readily appreciated by a person skilled in the art to apply insystems with down to two subsets of data for each first client.

1. A system for facilitating real-time transactions of data representingmonetary value between clients in a computer network, the systemcomprising: at least one first client; and a transaction server computersystem, the first client being associated with a set of datarepresenting a balance of monetary value, the set of data being storedin the transaction server computer system, wherein the transactionserver computer system is configured for receiving requests fortransactions of data representing an amount of monetary value, via thecomputer network, from a plurality of second clients for real-timeupdates of the first client's set of data, and wherein the transactionserver computer system includes a processor and a memory having storedthereon executable instructions that when executed by the processorconfigure the transaction server computer system to perform at least thefollowing store the first client's set of data in a data structure,wherein the data structure comprises at least a first subset of thefirst client's set of data and a second subset of the first client's setof data, each subset of data defining a sub-balance representing anamount of monetary value; reserve each of the first and second subsetsof data for a respective first and second one of the requests uponreceipt of the requests; update the first subset of data in accordancewith the first request, and simultaneously update the second subset ofdata in accordance with the second request; wherein the transactionserver computer system includes a first processing unit for processingreceipt of the requests for transactions, and a second processing unitfor reserving each of the first and second subsets of data for therespective first and second ones of the requests upon receipt of therequests, and for updating the first subset of data in accordance withthe first request, and for simultaneously updating the second subset ofdata in accordance with the second request; wherein the first processingunit is further configured to instruct the second processing unit tostore the first client's set of data in the data structure, reserve eachof the first and second subsets of data for the respective first andsecond ones of the requests upon receipt of the requests, and to updatethe first subset of data in accordance with the first request, and tosimultaneously update the second subset of data in accordance with thesecond request; wherein the second processing unit is a parallelprocessing unit comprising multiple cores in a single CPU or multipleCPUs; wherein the computer network further comprises an administrativeauthority server computer system within which at least the first clienthas an account defining a real balance of monetary value, wherein thebalance of monetary value represented by the set of data in thetransaction server computer system mirrors the real balance of monetaryvalue; and wherein the computer network includes a plurality of firstsecure tunnels, each of which connects one of the clients to thetransaction server computer system for passing the requests from thesecond clients to the transaction server computer system; at least onesecond secure tunnel, which connects the transaction server computersystem to the administrative authority server computer system formirroring the real balance of monetary value at the administrativeauthority server computer system and the balance represented by the setof data at the transaction server computer system, wherein thetransaction server computer system is configured to process the firstand second requests instantly on a real-time basis by the secondprocessing unit without accumulating or aggregating requests; and storedata representative of an accumulated plurality of processed first andsecond requests without causing mirroring thereof at the administrativeauthority computer system for a limited period of time or in respect ofa limited number of transactions; wherein the transaction servercomputer system, the administrative authority server computer system,and the second secure tunnel are configured to intermittently mirror thereal balance of monetary value at the administrative authority servercomputer system and the balance represented by the accumulated set ofdata at the transaction server computer system after lapse of saidlimited period of time or after said limited number of transactions atthe transaction server computer system has been reached.
 2. The systemaccording to claim 1, wherein each of the subsets of data is processedat a dedicated one of the CPUs or CPU cores of the parallel processingunit, so that each subset of data is processed by one of the CPUs or CPUcores different from any other one of the CPUs or CPU cores.
 3. Thesystem according to claim 1, wherein the transaction server computersystem is configured to determine, upon receipt of a third one of therequests, if the first and second subsets of data are reserved, and inthe affirmative, perform an update of the set of data according to apredefined auxiliary updating scheme.
 4. The system according to claim1, wherein the transaction server computer system is configured to:determine, upon reservation of the first or second subset of data forone of the requests, if an envisaged update of the reserved subset ofdata in response to that request would cause the sub-balance of thereserved subset of data to become negative; if it is determined that thesub-balance of the reserved subset of data would become negative: dividethe request into a first set of a plurality of sub-requests, reserve thesecond subset of data, and update the first and second subsets of datasimultaneously in accordance with the plurality of sub-requests.
 5. Thesystem according to claim 1, wherein the transaction server computersystem is configured to: determine the sub-balances of a plurality ofsubsets of data in response to receipt of one of the requests;simultaneously reserve a number of subsets of data large definingsub-balances enough for the accumulated sub-balances of the reservedsubsets of data to be at least as large as the amount of monetary valuerepresented by the data requested to be transferred; divide the requestinto a second set of sub-requests, the number of sub-requests in thesecond set of sub-requests being equal to the number of reserved subsetsof data; update the reserved subsets of data simultaneously inaccordance with the second set of sub-requests.
 6. The system accordingto claim 1, wherein the transaction server computer system is configuredto change the number of subsets of data based on an evaluation of thenumber of received requests within a specified period of time.
 7. Thesystem according to claim 1, wherein the transaction server computersystem is configured to: determine the sub-balances of each of theplurality of subsets of data at predetermined intervals generate andpopulate a prioritized list of the subsets of data, wherein theprioritized list ranks the subsets or groups of the subsets according totheir associated sub-balances; select one of the subsets or groups ofsubsets in the prioritized list for each one of the requests on thebasis of the prioritized list; assign each of the requests to theselected subset or groups of subsets; and subsequently update at leastone of the subsets of data of the selected subset or groups of thesubsets in accordance with each one of the requests.
 8. The systemaccording to claim 1, wherein the transaction server computer systemcomprises a plurality of individual data storage units, and wherein eachsubset of data is stored in an individual data storage unit.
 9. Thesystem according to claim 1, wherein the transaction server computersystem comprises a plurality of server computers, and wherein all dataassociated with the first client is stored in a single server computer.10. The system according to claim 9, wherein a single server computerstores data associated with the first client only.
 11. The systemaccording to claim 1, wherein subsets of data associated with the firstclient are stored on at least two server computers, and wherein no setof sub-requests is processed on more than one server computer.
 12. Thesystem according to claim 1, wherein the transaction server computersystem is configured to determine the sub-balances of all subsets ofdata at predefined intervals in time.